package com.dupf.product.dao.model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

public class ProductExchangeRateExample implements Serializable {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private static final long serialVersionUID = 1L;

    public ProductExchangeRateExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria implements Serializable {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andOrgIdIsNull() {
            addCriterion("org_id is null");
            return (Criteria) this;
        }

        public Criteria andOrgIdIsNotNull() {
            addCriterion("org_id is not null");
            return (Criteria) this;
        }

        public Criteria andOrgIdEqualTo(Integer value) {
            addCriterion("org_id =", value, "orgId");
            return (Criteria) this;
        }

        public Criteria andOrgIdNotEqualTo(Integer value) {
            addCriterion("org_id <>", value, "orgId");
            return (Criteria) this;
        }

        public Criteria andOrgIdGreaterThan(Integer value) {
            addCriterion("org_id >", value, "orgId");
            return (Criteria) this;
        }

        public Criteria andOrgIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("org_id >=", value, "orgId");
            return (Criteria) this;
        }

        public Criteria andOrgIdLessThan(Integer value) {
            addCriterion("org_id <", value, "orgId");
            return (Criteria) this;
        }

        public Criteria andOrgIdLessThanOrEqualTo(Integer value) {
            addCriterion("org_id <=", value, "orgId");
            return (Criteria) this;
        }

        public Criteria andOrgIdIn(List<Integer> values) {
            addCriterion("org_id in", values, "orgId");
            return (Criteria) this;
        }

        public Criteria andOrgIdNotIn(List<Integer> values) {
            addCriterion("org_id not in", values, "orgId");
            return (Criteria) this;
        }

        public Criteria andOrgIdBetween(Integer value1, Integer value2) {
            addCriterion("org_id between", value1, value2, "orgId");
            return (Criteria) this;
        }

        public Criteria andOrgIdNotBetween(Integer value1, Integer value2) {
            addCriterion("org_id not between", value1, value2, "orgId");
            return (Criteria) this;
        }

        public Criteria andCadIsNull() {
            addCriterion("CAD is null");
            return (Criteria) this;
        }

        public Criteria andCadIsNotNull() {
            addCriterion("CAD is not null");
            return (Criteria) this;
        }

        public Criteria andCadEqualTo(BigDecimal value) {
            addCriterion("CAD =", value, "cad");
            return (Criteria) this;
        }

        public Criteria andCadNotEqualTo(BigDecimal value) {
            addCriterion("CAD <>", value, "cad");
            return (Criteria) this;
        }

        public Criteria andCadGreaterThan(BigDecimal value) {
            addCriterion("CAD >", value, "cad");
            return (Criteria) this;
        }

        public Criteria andCadGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("CAD >=", value, "cad");
            return (Criteria) this;
        }

        public Criteria andCadLessThan(BigDecimal value) {
            addCriterion("CAD <", value, "cad");
            return (Criteria) this;
        }

        public Criteria andCadLessThanOrEqualTo(BigDecimal value) {
            addCriterion("CAD <=", value, "cad");
            return (Criteria) this;
        }

        public Criteria andCadIn(List<BigDecimal> values) {
            addCriterion("CAD in", values, "cad");
            return (Criteria) this;
        }

        public Criteria andCadNotIn(List<BigDecimal> values) {
            addCriterion("CAD not in", values, "cad");
            return (Criteria) this;
        }

        public Criteria andCadBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("CAD between", value1, value2, "cad");
            return (Criteria) this;
        }

        public Criteria andCadNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("CAD not between", value1, value2, "cad");
            return (Criteria) this;
        }

        public Criteria andInrIsNull() {
            addCriterion("INR is null");
            return (Criteria) this;
        }

        public Criteria andInrIsNotNull() {
            addCriterion("INR is not null");
            return (Criteria) this;
        }

        public Criteria andInrEqualTo(BigDecimal value) {
            addCriterion("INR =", value, "inr");
            return (Criteria) this;
        }

        public Criteria andInrNotEqualTo(BigDecimal value) {
            addCriterion("INR <>", value, "inr");
            return (Criteria) this;
        }

        public Criteria andInrGreaterThan(BigDecimal value) {
            addCriterion("INR >", value, "inr");
            return (Criteria) this;
        }

        public Criteria andInrGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("INR >=", value, "inr");
            return (Criteria) this;
        }

        public Criteria andInrLessThan(BigDecimal value) {
            addCriterion("INR <", value, "inr");
            return (Criteria) this;
        }

        public Criteria andInrLessThanOrEqualTo(BigDecimal value) {
            addCriterion("INR <=", value, "inr");
            return (Criteria) this;
        }

        public Criteria andInrIn(List<BigDecimal> values) {
            addCriterion("INR in", values, "inr");
            return (Criteria) this;
        }

        public Criteria andInrNotIn(List<BigDecimal> values) {
            addCriterion("INR not in", values, "inr");
            return (Criteria) this;
        }

        public Criteria andInrBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("INR between", value1, value2, "inr");
            return (Criteria) this;
        }

        public Criteria andInrNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("INR not between", value1, value2, "inr");
            return (Criteria) this;
        }

        public Criteria andMxnIsNull() {
            addCriterion("MXN is null");
            return (Criteria) this;
        }

        public Criteria andMxnIsNotNull() {
            addCriterion("MXN is not null");
            return (Criteria) this;
        }

        public Criteria andMxnEqualTo(BigDecimal value) {
            addCriterion("MXN =", value, "mxn");
            return (Criteria) this;
        }

        public Criteria andMxnNotEqualTo(BigDecimal value) {
            addCriterion("MXN <>", value, "mxn");
            return (Criteria) this;
        }

        public Criteria andMxnGreaterThan(BigDecimal value) {
            addCriterion("MXN >", value, "mxn");
            return (Criteria) this;
        }

        public Criteria andMxnGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("MXN >=", value, "mxn");
            return (Criteria) this;
        }

        public Criteria andMxnLessThan(BigDecimal value) {
            addCriterion("MXN <", value, "mxn");
            return (Criteria) this;
        }

        public Criteria andMxnLessThanOrEqualTo(BigDecimal value) {
            addCriterion("MXN <=", value, "mxn");
            return (Criteria) this;
        }

        public Criteria andMxnIn(List<BigDecimal> values) {
            addCriterion("MXN in", values, "mxn");
            return (Criteria) this;
        }

        public Criteria andMxnNotIn(List<BigDecimal> values) {
            addCriterion("MXN not in", values, "mxn");
            return (Criteria) this;
        }

        public Criteria andMxnBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("MXN between", value1, value2, "mxn");
            return (Criteria) this;
        }

        public Criteria andMxnNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("MXN not between", value1, value2, "mxn");
            return (Criteria) this;
        }

        public Criteria andEurIsNull() {
            addCriterion("EUR is null");
            return (Criteria) this;
        }

        public Criteria andEurIsNotNull() {
            addCriterion("EUR is not null");
            return (Criteria) this;
        }

        public Criteria andEurEqualTo(BigDecimal value) {
            addCriterion("EUR =", value, "eur");
            return (Criteria) this;
        }

        public Criteria andEurNotEqualTo(BigDecimal value) {
            addCriterion("EUR <>", value, "eur");
            return (Criteria) this;
        }

        public Criteria andEurGreaterThan(BigDecimal value) {
            addCriterion("EUR >", value, "eur");
            return (Criteria) this;
        }

        public Criteria andEurGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("EUR >=", value, "eur");
            return (Criteria) this;
        }

        public Criteria andEurLessThan(BigDecimal value) {
            addCriterion("EUR <", value, "eur");
            return (Criteria) this;
        }

        public Criteria andEurLessThanOrEqualTo(BigDecimal value) {
            addCriterion("EUR <=", value, "eur");
            return (Criteria) this;
        }

        public Criteria andEurIn(List<BigDecimal> values) {
            addCriterion("EUR in", values, "eur");
            return (Criteria) this;
        }

        public Criteria andEurNotIn(List<BigDecimal> values) {
            addCriterion("EUR not in", values, "eur");
            return (Criteria) this;
        }

        public Criteria andEurBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("EUR between", value1, value2, "eur");
            return (Criteria) this;
        }

        public Criteria andEurNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("EUR not between", value1, value2, "eur");
            return (Criteria) this;
        }

        public Criteria andNokIsNull() {
            addCriterion("NOK is null");
            return (Criteria) this;
        }

        public Criteria andNokIsNotNull() {
            addCriterion("NOK is not null");
            return (Criteria) this;
        }

        public Criteria andNokEqualTo(BigDecimal value) {
            addCriterion("NOK =", value, "nok");
            return (Criteria) this;
        }

        public Criteria andNokNotEqualTo(BigDecimal value) {
            addCriterion("NOK <>", value, "nok");
            return (Criteria) this;
        }

        public Criteria andNokGreaterThan(BigDecimal value) {
            addCriterion("NOK >", value, "nok");
            return (Criteria) this;
        }

        public Criteria andNokGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("NOK >=", value, "nok");
            return (Criteria) this;
        }

        public Criteria andNokLessThan(BigDecimal value) {
            addCriterion("NOK <", value, "nok");
            return (Criteria) this;
        }

        public Criteria andNokLessThanOrEqualTo(BigDecimal value) {
            addCriterion("NOK <=", value, "nok");
            return (Criteria) this;
        }

        public Criteria andNokIn(List<BigDecimal> values) {
            addCriterion("NOK in", values, "nok");
            return (Criteria) this;
        }

        public Criteria andNokNotIn(List<BigDecimal> values) {
            addCriterion("NOK not in", values, "nok");
            return (Criteria) this;
        }

        public Criteria andNokBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("NOK between", value1, value2, "nok");
            return (Criteria) this;
        }

        public Criteria andNokNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("NOK not between", value1, value2, "nok");
            return (Criteria) this;
        }

        public Criteria andJpyIsNull() {
            addCriterion("JPY is null");
            return (Criteria) this;
        }

        public Criteria andJpyIsNotNull() {
            addCriterion("JPY is not null");
            return (Criteria) this;
        }

        public Criteria andJpyEqualTo(BigDecimal value) {
            addCriterion("JPY =", value, "jpy");
            return (Criteria) this;
        }

        public Criteria andJpyNotEqualTo(BigDecimal value) {
            addCriterion("JPY <>", value, "jpy");
            return (Criteria) this;
        }

        public Criteria andJpyGreaterThan(BigDecimal value) {
            addCriterion("JPY >", value, "jpy");
            return (Criteria) this;
        }

        public Criteria andJpyGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("JPY >=", value, "jpy");
            return (Criteria) this;
        }

        public Criteria andJpyLessThan(BigDecimal value) {
            addCriterion("JPY <", value, "jpy");
            return (Criteria) this;
        }

        public Criteria andJpyLessThanOrEqualTo(BigDecimal value) {
            addCriterion("JPY <=", value, "jpy");
            return (Criteria) this;
        }

        public Criteria andJpyIn(List<BigDecimal> values) {
            addCriterion("JPY in", values, "jpy");
            return (Criteria) this;
        }

        public Criteria andJpyNotIn(List<BigDecimal> values) {
            addCriterion("JPY not in", values, "jpy");
            return (Criteria) this;
        }

        public Criteria andJpyBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("JPY between", value1, value2, "jpy");
            return (Criteria) this;
        }

        public Criteria andJpyNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("JPY not between", value1, value2, "jpy");
            return (Criteria) this;
        }

        public Criteria andAudIsNull() {
            addCriterion("AUD is null");
            return (Criteria) this;
        }

        public Criteria andAudIsNotNull() {
            addCriterion("AUD is not null");
            return (Criteria) this;
        }

        public Criteria andAudEqualTo(BigDecimal value) {
            addCriterion("AUD =", value, "aud");
            return (Criteria) this;
        }

        public Criteria andAudNotEqualTo(BigDecimal value) {
            addCriterion("AUD <>", value, "aud");
            return (Criteria) this;
        }

        public Criteria andAudGreaterThan(BigDecimal value) {
            addCriterion("AUD >", value, "aud");
            return (Criteria) this;
        }

        public Criteria andAudGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("AUD >=", value, "aud");
            return (Criteria) this;
        }

        public Criteria andAudLessThan(BigDecimal value) {
            addCriterion("AUD <", value, "aud");
            return (Criteria) this;
        }

        public Criteria andAudLessThanOrEqualTo(BigDecimal value) {
            addCriterion("AUD <=", value, "aud");
            return (Criteria) this;
        }

        public Criteria andAudIn(List<BigDecimal> values) {
            addCriterion("AUD in", values, "aud");
            return (Criteria) this;
        }

        public Criteria andAudNotIn(List<BigDecimal> values) {
            addCriterion("AUD not in", values, "aud");
            return (Criteria) this;
        }

        public Criteria andAudBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("AUD between", value1, value2, "aud");
            return (Criteria) this;
        }

        public Criteria andAudNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("AUD not between", value1, value2, "aud");
            return (Criteria) this;
        }

        public Criteria andUsdIsNull() {
            addCriterion("USD is null");
            return (Criteria) this;
        }

        public Criteria andUsdIsNotNull() {
            addCriterion("USD is not null");
            return (Criteria) this;
        }

        public Criteria andUsdEqualTo(BigDecimal value) {
            addCriterion("USD =", value, "usd");
            return (Criteria) this;
        }

        public Criteria andUsdNotEqualTo(BigDecimal value) {
            addCriterion("USD <>", value, "usd");
            return (Criteria) this;
        }

        public Criteria andUsdGreaterThan(BigDecimal value) {
            addCriterion("USD >", value, "usd");
            return (Criteria) this;
        }

        public Criteria andUsdGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("USD >=", value, "usd");
            return (Criteria) this;
        }

        public Criteria andUsdLessThan(BigDecimal value) {
            addCriterion("USD <", value, "usd");
            return (Criteria) this;
        }

        public Criteria andUsdLessThanOrEqualTo(BigDecimal value) {
            addCriterion("USD <=", value, "usd");
            return (Criteria) this;
        }

        public Criteria andUsdIn(List<BigDecimal> values) {
            addCriterion("USD in", values, "usd");
            return (Criteria) this;
        }

        public Criteria andUsdNotIn(List<BigDecimal> values) {
            addCriterion("USD not in", values, "usd");
            return (Criteria) this;
        }

        public Criteria andUsdBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("USD between", value1, value2, "usd");
            return (Criteria) this;
        }

        public Criteria andUsdNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("USD not between", value1, value2, "usd");
            return (Criteria) this;
        }

        public Criteria andGbpIsNull() {
            addCriterion("GBP is null");
            return (Criteria) this;
        }

        public Criteria andGbpIsNotNull() {
            addCriterion("GBP is not null");
            return (Criteria) this;
        }

        public Criteria andGbpEqualTo(BigDecimal value) {
            addCriterion("GBP =", value, "gbp");
            return (Criteria) this;
        }

        public Criteria andGbpNotEqualTo(BigDecimal value) {
            addCriterion("GBP <>", value, "gbp");
            return (Criteria) this;
        }

        public Criteria andGbpGreaterThan(BigDecimal value) {
            addCriterion("GBP >", value, "gbp");
            return (Criteria) this;
        }

        public Criteria andGbpGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("GBP >=", value, "gbp");
            return (Criteria) this;
        }

        public Criteria andGbpLessThan(BigDecimal value) {
            addCriterion("GBP <", value, "gbp");
            return (Criteria) this;
        }

        public Criteria andGbpLessThanOrEqualTo(BigDecimal value) {
            addCriterion("GBP <=", value, "gbp");
            return (Criteria) this;
        }

        public Criteria andGbpIn(List<BigDecimal> values) {
            addCriterion("GBP in", values, "gbp");
            return (Criteria) this;
        }

        public Criteria andGbpNotIn(List<BigDecimal> values) {
            addCriterion("GBP not in", values, "gbp");
            return (Criteria) this;
        }

        public Criteria andGbpBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("GBP between", value1, value2, "gbp");
            return (Criteria) this;
        }

        public Criteria andGbpNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("GBP not between", value1, value2, "gbp");
            return (Criteria) this;
        }

        public Criteria andCtimeIsNull() {
            addCriterion("ctime is null");
            return (Criteria) this;
        }

        public Criteria andCtimeIsNotNull() {
            addCriterion("ctime is not null");
            return (Criteria) this;
        }

        public Criteria andCtimeEqualTo(Long value) {
            addCriterion("ctime =", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeNotEqualTo(Long value) {
            addCriterion("ctime <>", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeGreaterThan(Long value) {
            addCriterion("ctime >", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeGreaterThanOrEqualTo(Long value) {
            addCriterion("ctime >=", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeLessThan(Long value) {
            addCriterion("ctime <", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeLessThanOrEqualTo(Long value) {
            addCriterion("ctime <=", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeIn(List<Long> values) {
            addCriterion("ctime in", values, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeNotIn(List<Long> values) {
            addCriterion("ctime not in", values, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeBetween(Long value1, Long value2) {
            addCriterion("ctime between", value1, value2, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeNotBetween(Long value1, Long value2) {
            addCriterion("ctime not between", value1, value2, "ctime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria implements Serializable {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion implements Serializable {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}